package com.deliccio.entitys;


import java.io.Serializable;
import java.lang.reflect.Method;

import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import com.deliccio.connect.Entidad;


@Entity
@Table(name = "detallepedido")
public class DetallePedido implements Entidad, Serializable {
    private static final long serialVersionUID = 1L;
        
    @Id
	@Basic(optional=false)
    @Column(name = "iddetapedido", precision = 22)
    @GeneratedValue(strategy = GenerationType.IDENTITY)
	private Integer id;
    
    @ManyToOne
   	@JoinColumn(name="idproducto")
   	private Producto producto;
    
    @Column(name = "precioUnitario")
    private Double precioUnitario;
    
    @Column(name = "cantidad")
    private Integer cantidad;
    
    @ManyToOne
	@JoinColumn(name="idpedido")
	private Pedidos pedidos;   
    
    public DetallePedido() {
    }
    
    public DetallePedido(Producto producto,Double precioUnitario,Integer cantidad,Pedidos pedidos){
	
		this.producto=producto;
		this.precioUnitario=precioUnitario;
		this.cantidad=cantidad;
		this.pedidos=pedidos;
	}

	public Integer getId(){
		return id;
	}

	public void setId(Integer id){
		this.id=id;
	}

	public Producto getProducto(){
		return producto;
	}

	public void setProducto(Producto producto){
		this.producto=producto;
	}

	public Double getPrecioUnitario() {
        return precioUnitario;
    }

    public void setPrecioUnitario(Double precioUnitario) {
        this.precioUnitario = precioUnitario;
    }

    public Integer getCantidad() {
        return cantidad;
    }

    public void setCantidad(Integer cantidad) {
        this.cantidad = cantidad;
    }

    public Pedidos getPedidos() {
        return pedidos;
    }

    public void setPedidos(Pedidos pedidos) {
        this.pedidos = pedidos;
    }


/*
    @SuppressWarnings("rawtypes")
  	@Override
  	public String toString() {
  		String toString = "[";
  		@SuppressWarnings("unused")
  		String campo,iscampo = "";
  		try {
  			Class clase = this.getClass();
  			Method[] metodos = clase.getDeclaredMethods();
  			for (Method met:metodos) {					
  				if (met.getName().indexOf("get") >= 0) {
  					toString += met.getName()+"="+met.invoke(this, null)+" - ";
  				}
  			}								
  			toString+="]";
  		} catch (Exception e) {			
  			System.out.println(e);
  		}
  		return toString;
  	}
 */
}
